{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Using matplotlib basemap to project California data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import pandas as pd, numpy as np, matplotlib.pyplot as plt\n",
    "from geopandas import GeoDataFrame\n",
    "from mpl_toolkits.basemap import Basemap\n",
    "from shapely.geometry import Point"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# define basemap colors\n",
    "land_color = '#F6F6F6'\n",
    "water_color = '#D2F5FF'\n",
    "coastline_color = '#333333'\n",
    "border_color = '#999999'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# load the point data and select only points in california\n",
    "df = pd.read_csv('data/usa-latlong.csv')\n",
    "usa_points = GeoDataFrame(df)\n",
    "usa_points['geometry'] = usa_points.apply(lambda row: Point(row['longitude'], row['latitude']), axis=1)\n",
    "states = GeoDataFrame.from_file('data/states_21basic/states.shp')\n",
    "california = states[states['STATE_NAME']=='California']['geometry']\n",
    "california_polygon = california.iloc[0]\n",
    "california_points = usa_points[usa_points.within(california_polygon)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# first define a transverse mercator projection\n",
    "map_width_m = 1000 * 1000\n",
    "map_height_m = 1200 * 1000\n",
    "target_crs = {'datum':'WGS84',\n",
    "              'ellps':'WGS84',\n",
    "              'proj':'tmerc',\n",
    "              'lon_0':-119,\n",
    "              'lat_0':37.5}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x21a2fe5bfd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot the map\n",
    "fig_width = 6\n",
    "plt.figure(figsize=[fig_width, fig_width * map_height_m / float(map_width_m)])\n",
    "\n",
    "m = Basemap(ellps=target_crs['ellps'],\n",
    "            projection=target_crs['proj'],\n",
    "            lon_0=target_crs['lon_0'], \n",
    "            lat_0=target_crs['lat_0'],\n",
    "            width=map_width_m, \n",
    "            height=map_height_m,\n",
    "            resolution='l',\n",
    "            area_thresh=10000)\n",
    "\n",
    "m.drawcoastlines(color=coastline_color)\n",
    "m.drawcountries(color=border_color)\n",
    "m.fillcontinents(color=land_color, lake_color=water_color)\n",
    "m.drawstates(color=border_color)\n",
    "m.drawmapboundary(fill_color=water_color)\n",
    "\n",
    "x, y = m(np.array(california_points['longitude']), np.array(california_points['latitude']))\n",
    "m.scatter(x, y, s=80, color='r', edgecolor='#333333', alpha=0.4, zorder=10)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# next define an albers projection for california\n",
    "target_crs = {'datum':'NAD83',\n",
    "              'ellps':'GRS80',\n",
    "              'proj':'aea', \n",
    "              'lat_1':35, \n",
    "              'lat_2':39, \n",
    "              'lon_0':-119, \n",
    "              'lat_0':37.5, \n",
    "              'x_0':map_width_m/2, \n",
    "              'y_0':map_height_m/2,\n",
    "              'units':'m'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nugAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x21a2feb9320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot the map\n",
    "fig_width = 6\n",
    "plt.figure(figsize=[fig_width, fig_width * map_height_m / float(map_width_m)])\n",
    "\n",
    "m = Basemap(ellps=target_crs['ellps'],\n",
    "            projection=target_crs['proj'],\n",
    "            lat_1=target_crs['lat_1'], \n",
    "            lat_2=target_crs['lat_2'], \n",
    "            lon_0=target_crs['lon_0'], \n",
    "            lat_0=target_crs['lat_0'],\n",
    "            width=map_width_m, \n",
    "            height=map_height_m,\n",
    "            resolution='l',\n",
    "            area_thresh=10000)\n",
    "\n",
    "m.drawcoastlines(color=coastline_color)\n",
    "m.drawcountries(color=border_color)\n",
    "m.fillcontinents(color=land_color, lake_color=water_color)\n",
    "m.drawstates(color=border_color)\n",
    "m.drawmapboundary(fill_color=water_color)\n",
    "\n",
    "x, y = m(np.array(california_points['longitude']), np.array(california_points['latitude']))\n",
    "m.scatter(x, y, s=80, color='r', edgecolor='#333333', alpha=0.4, zorder=10)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
